package com.example.leo.mycharmingstudent.a1012;

import android.graphics.drawable.AnimationDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import com.example.leo.mycharmingstudent.R;

public class FrameAnimationActivity extends AppCompatActivity {

    private AnimationDrawable mAnimationDrawable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_frame_animation);

        View viewFrame = findViewById(R.id.view_frame_activity_frame_animation);
        mAnimationDrawable = (AnimationDrawable) viewFrame.getBackground();
        //凡事都有优先级，代码设置的优先级高于文件属性设置的优先级
        mAnimationDrawable.setOneShot(false);

    }

    /**
     * 此方法名就是布局文件中，控件onClick属性的属性名
     * @param v 被点击的View
     *
     * 注意：
     * 可以多个控件的点击事件执行同一个方法，
     * 根据控件id判断到底点的是哪个控件
     *
     * 点击事件实现的三种方式：
     *          1.匿名内部类的方式   View.setOnClickListener(new OnClickListener)
     *          2.Activity实现View.OnClickListener接口   View.setOnClickListener(this)
     *          3.使用控件的onClick属性（不常用）
     */
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_start_frame_animation:
                //开始动画
                mAnimationDrawable.start();
                break;
            case R.id.btn_stop_frame_animation:
                //停止动画
                mAnimationDrawable.stop();
                break;
            default:
                break;
        }
    }
}
